使用假設檢驗進行特徵選擇假設檢驗是統計學中的一種方法,可以對單個特徵進行更複雜的統計檢驗。通過假設檢驗進行特徵選擇將嘗試僅選擇數據集中的最佳特徵,就像我們使用自定義皮爾森細數閾值,但這些測試更多統計方法,並通過所謂的p值對表徵進行重要度的描述。p值是0到1之間的小數,p值越小,該特徵與我們的響應變量相關的可能性就越大,應該保留。
sklearn模組裡已經有我們需要的功能,要使用設檢驗進行特徵選擇,我們將需要引入sklearn中的兩個模組:SelectKBest和f_classif:
# SelectKBest 挑選出K個分數最高的特徵
from sklearn.feature_selection import SelectKBest
# 這是一稱為aNOVA的統計檢驗方法
from sklearn.feature_selection import f_classif
SelectKBest基本上只是一個殼,它選擇k個最佳參數的來源是來自於外部;在此例也就是Anova統計檢驗後每個表徵的p-value。
sklearn的f_classif函數將自己對每個特徵執行ANOVA測試並為該特徵分配p值。 SelectKBest將通過該p值對特徵進行排名(越低越好)並且僅保留好的K個表徵。所以我們從將f_classif作為SelectKBest的參數,也就是p值的統計檢驗方法,我們手動輸入一個K值為5,做為將保留最好的K個表徵:
k_best = SelectKBest(f_classif, k=5)